﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace RndMaterialDisposalService.Models
{
    /// <summary>
    /// 流程申请单表单数据
    /// </summary>
    [Table("WorkflowApplicationData")]
    public class ApplicationDataModel
    { 
        /// <summary>
        /// 
        /// </summary>
        public int ID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? WorkflowName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ApplicationNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ProcInstId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? CurrentStatus { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? CurrentHandler { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? MobilePhone { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ApplicantEmployeeNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ApplicantName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DepartmentCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DepartmentName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? FormData { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? MailBody { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime CreatedDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? SubmitBy { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int ScopeID { get; set; }
    }

    /// <summary>
    /// 流程申请单表单数据
    /// </summary>
    public class ApplicationDataModelPartial
    {
        /// <summary>
        /// 
        /// </summary>
        public string? ApplicationNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? CurrentStatus { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? CurrentHandler { get; set; }
    }

    /// <summary>
    /// 
    /// </summary>
    public class ApplicationDataQuery
    {
        /// <summary>
        /// 
        /// </summary>
        public string? WorkflowName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ApplicationNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? Applicant { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? Dept { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime QueryStartCreateTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime QueryEndCreateTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? CurrentStatus { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? SubmitBy { get; set; }

    }

    /// <summary>
    /// 流程审批表单数据
    /// </summary>
    [Table("WorkflowApproveData")]
    public class ApplicationApproveDataModel
    {
        /// <summary>
        /// 
        /// </summary>
        public int ID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? WorkflowName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ApplicationNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? NodeName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? NodeDescription { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ApproverName  { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime ApproveDate   { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ApproveResult { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string? ApproveRemark  { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? FormData { get; set; }
    }
}
